<?php

namespace Project\AdminBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Project\ScrumBundle\Entity\Utilisateur;
use Project\ScrumBundle\Entity\Projet;
use Project\ScrumBundle\Form\UtilisateurType;
use Project\ScrumBundle\Form\ProjetType;

class ScrumAdminController extends Controller {

    public function createUserAction() {

        $session = $this->get('session');
        //Si l'utilisateur est un admin on affiche la page
        if ($session->get('role') == "ROLE_ADMIN") {
            $utilisateur = new Utilisateur();

            $utilisateurType = new UtilisateurType();

            $form = $this->createForm($utilisateurType, $utilisateur);

            // On récupère la requête
            $request = $this->get('request');

            // On vérifie qu'elle est de type POST
            if ($request->getMethod() == 'POST') {
                // On fait le lien Requête <-> Formulaire
                $form->bind($request);

                // On l'enregistre notre objet dans la base de données
                $em = $this->getDoctrine()->getManager();
                $utilisateur->setAffectation(false);
                $em->persist($utilisateur);
                $em->flush();
            }

            //On affiche la liste des utilisateurs
            $manager = $this->getDoctrine()->getManager();
            $utilisateursdb = $manager->getRepository('ProjectScrumBundle:Utilisateur')->findAll();

            return $this->render('ProjectAdminBundle:Admin:createuser.html.twig', array('form' => $form->createView(), 'utilisateursdb' => $utilisateursdb));
        } else {
            return $this->redirect($this->generateUrl('project_authentification_login'));
        }
    }

    public function createProjectAction() {

        $session = $this->get('session');
        //Si l'utilisateur est un admin on affiche la page
        if ($session->get('role') == "ROLE_ADMIN") {
            $projet = new Projet();

            $projetType = new ProjetType();

            $form = $this->createForm($projetType, $projet);

            // On récupère la requête
            $request = $this->get('request');

            // On vérifie qu'elle est de type POST
            if ($request->getMethod() == 'POST') {
                // On fait le lien Requête <-> Formulaire
                $form->bind($request);

                    // On l'enregistre notre objet dans la base de données
                    $em = $this->getDoctrine()->getManager();
                    $em->persist($projet);
                    $em->flush();
            }

            //On affiche la liste des projets
            $manager = $this->getDoctrine()->getManager();
            $projetdb = $manager->getRepository('ProjectScrumBundle:Projet')->findAll();

            return $this->render('ProjectAdminBundle:Admin:createproject.html.twig', array('form' => $form->createView(), 'projectdb' => $projetdb));
        } else {
            return $this->redirect($this->generateUrl('project_authentification_login'));
        }
    }

}

